pub struct CompliancePublicInputs {Show 13 fields
pub event_id: String,
pub tenant_id: String,
pub store_id: String,
pub sequence_number: u64,
pub payload_kind: u32,
pub payload_plain_hash: String,
pub payload_cipher_hash: String,
pub event_signing_hash: String,
pub policy_id: String,
pub policy_hash: String,
pub witness_commitment: Option<String>,
pub authorization_receipt_hash: Option<String>,
pub amount_binding_hash: Option<String>,
/* private fields */
}Expand description
Public inputs for compliance proof generation/verification
Fields§
§event_id: StringUUID of the event being proven
tenant_id: StringTenant ID
store_id: StringStore ID
sequence_number: u64Sequence number of the event
payload_kind: u32Payload kind (event type discriminator)
payload_plain_hash: StringSHA-256 hash of plaintext payload (hex64, lowercase)
payload_cipher_hash: StringSHA-256 hash of ciphertext payload (hex64, lowercase)
event_signing_hash: StringEvent signing hash (hex64, lowercase)
policy_id: StringPolicy identifier (e.g., “aml.threshold”)
policy_hash: StringPolicy hash (hex64, lowercase)
witness_commitment: Option<String>Optional witness commitment (hex64, lowercase) to bind the proved witness to canonical inputs.
Optional authorization receipt hash (hex64, lowercase) committed into canonical public inputs.
amount_binding_hash: Option<String>Optional payload amount binding hash (hex64, lowercase) committed into canonical public inputs.
Implementations§
Source§impl CompliancePublicInputs
impl CompliancePublicInputs
Sourcepub fn new(
event_id: String,
tenant_id: String,
store_id: String,
sequence_number: u64,
payload_kind: u32,
payload_plain_hash: String,
payload_cipher_hash: String,
event_signing_hash: String,
policy_id: String,
policy_params: &Bound<'_, PyDict>,
policy_hash: String,
witness_commitment: Option<String>,
authorization_receipt_hash: Option<String>,
amount_binding_hash: Option<String>,
) -> PyResult<Self>
pub fn new( event_id: String, tenant_id: String, store_id: String, sequence_number: u64, payload_kind: u32, payload_plain_hash: String, payload_cipher_hash: String, event_signing_hash: String, policy_id: String, policy_params: &Bound<'_, PyDict>, policy_hash: String, witness_commitment: Option<String>, authorization_receipt_hash: Option<String>, amount_binding_hash: Option<String>, ) -> PyResult<Self>
Create new CompliancePublicInputs
Args: event_id: UUID of the event being proven tenant_id: Tenant ID store_id: Store ID sequence_number: Sequence number of the event payload_kind: Payload kind (event type discriminator) payload_plain_hash: SHA-256 hash of plaintext payload (hex64, lowercase) payload_cipher_hash: SHA-256 hash of ciphertext payload (hex64, lowercase) event_signing_hash: Event signing hash (hex64, lowercase) policy_id: Policy identifier (e.g., “aml.threshold”) policy_params: Policy parameters as dict policy_hash: Policy hash (hex64, lowercase) witness_commitment: Optional witness commitment (hex64, lowercase) authorization_receipt_hash: Optional authorization receipt hash (hex64, lowercase) amount_binding_hash: Optional payload amount binding hash (hex64, lowercase)
Sourcepub fn policy_params(&self, py: Python<'_>) -> PyResult<PyObject>
pub fn policy_params(&self, py: Python<'_>) -> PyResult<PyObject>
Get policy parameters as a dict
Trait Implementations§
Source§impl Clone for CompliancePublicInputs
impl Clone for CompliancePublicInputs
Source§fn clone(&self) -> CompliancePublicInputs
fn clone(&self) -> CompliancePublicInputs
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'py> IntoPyObject<'py> for CompliancePublicInputs
impl<'py> IntoPyObject<'py> for CompliancePublicInputs
Source§type Target = CompliancePublicInputs
type Target = CompliancePublicInputs
Source§type Output = Bound<'py, <CompliancePublicInputs as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <CompliancePublicInputs as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PyClass for CompliancePublicInputs
impl PyClass for CompliancePublicInputs
Source§impl PyClassImpl for CompliancePublicInputs
impl PyClassImpl for CompliancePublicInputs
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§type ThreadChecker = SendablePyClass<CompliancePublicInputs>
type ThreadChecker = SendablePyClass<CompliancePublicInputs>
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
fn weaklist_offset() -> Option<isize>
Source§impl PyClassNewTextSignature<CompliancePublicInputs> for PyClassImplCollector<CompliancePublicInputs>
impl PyClassNewTextSignature<CompliancePublicInputs> for PyClassImplCollector<CompliancePublicInputs>
fn new_text_signature(self) -> Option<&'static str>
Source§impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a CompliancePublicInputs
impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a CompliancePublicInputs
Source§impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a mut CompliancePublicInputs
impl<'a, 'py> PyFunctionArgument<'a, 'py, false> for &'a mut CompliancePublicInputs
Source§impl PyMethods<CompliancePublicInputs> for PyClassImplCollector<CompliancePublicInputs>
impl PyMethods<CompliancePublicInputs> for PyClassImplCollector<CompliancePublicInputs>
fn py_methods(self) -> &'static PyClassItems
Source§impl PyTypeInfo for CompliancePublicInputs
impl PyTypeInfo for CompliancePublicInputs
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
Source§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
Source§fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
renamed to PyTypeInfo::type_object
PyTypeInfo::type_object.Source§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.Source§fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
renamed to PyTypeInfo::is_type_of
PyTypeInfo::is_type_of.Source§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.Source§fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
renamed to PyTypeInfo::is_exact_type_of
PyTypeInfo::is_exact_type_of.impl DerefToPyAny for CompliancePublicInputs
Auto Trait Implementations§
impl Freeze for CompliancePublicInputs
impl RefUnwindSafe for CompliancePublicInputs
impl Send for CompliancePublicInputs
impl Sync for CompliancePublicInputs
impl Unpin for CompliancePublicInputs
impl UnsafeUnpin for CompliancePublicInputs
impl UnwindSafe for CompliancePublicInputs
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FromPyObject<'_> for T
impl<T> FromPyObject<'_> for T
Source§impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
Source§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.