Skip to content

Compliance

Compliance structures for zero-knowledge proofs in the Anoma Resource Machine.

{-# OPTIONS --without-K --type-in-type #-}

module Goose.Anoma.Compliance where

open import Foundation.BasicTypes 
open import Goose.Anoma.Resource
open import Goose.Anoma.NullifierKey

Merkle Path

MerklePath : Set
MerklePath = List 

Compliance Witness

record ComplianceWitness : Set where
  field
    consumedResource : Resource
    createdResource : Resource
    nfKey : NullifierKey
    rcv : String
    merklePath : MerklePath
    ephemeralRoot : String
open ComplianceWitness public

Compliance Instance

record ComplianceInstance : Set where

open ComplianceInstance public

Compliance Proof

ComplianceProof : Set
ComplianceProof = String

Compliance Unit

record ComplianceUnit : Set where
  field
    proof : ComplianceProof
    inst : ComplianceInstance
open ComplianceUnit public

Create Compliance Unit

createComplianceUnit : ComplianceWitness  ComplianceUnit
createComplianceUnit witness = record
  { proof = ""
  ; inst = record {} }

Note: Placeholder implementation for proof generation.

Module References

Referenced By

This module is referenced by:

References

This module references: