// This is a generated file by witgen (https://github.com/bnjjj/witgen), please do not edit yourself, you can generate a new one thanks to cargo witgen generate command /// Decrypt ABE header decrypt_hybrid_header: function(cache_handle: s32, encrypted_data: list ) -> expected destroy_encryption_cache: function(cache_handle: s32) -> expected , string> /// This struct only provides a visual way to display attributes arguments record Attribute { axis_name: string, attribute: string } /// Regroup private, public and delegation keys in same struct record MasterKey { private_key: list , public_key: list , delegation_key: list , policy_serialized: list } destroy_decryption_cache: function(cache_handle: s32) -> expected , string> /// Generate a user decryption key for the given master key and access policy generate_user_decryption_key: function(master_private_key: list , access_policy: option , policy: list ) -> expected /// Prepare encryption cache (avoiding user decryption key deserialization) create_decryption_cache: function(user_decryption_key: list ) -> expected /// Generate a delegate user decryption key for the access policy delegate_user_decryption_key: function(delegation_key: list , user_decryption_key: string, policy: list , access_policy: option ) -> expected /// Generate ABE master key generate_master_key: function(nb_revocation: u64, policy: Policy) -> expected /// Decrypt ABE-ciphertext (decrypt ABE header + decrypt AES) decrypt: function(user_decryption_key: string, encrypted_data: list ) -> expected /// Encrypt an AES-symmetric key and encrypt with AESGCM-256 encrypt: function(plaintext: string, master_public_key: list , attributes: list , policy: list , uid: list ) -> expected , string> record EncryptedHeader { symmetric_key: list , encrypted_header_bytes: list } /// Encrypt an AES-symmetric key and encrypt with AESGCM-256 encrypt_hybrid_block: function(plaintext: string, symmetric_key: list , uid: list , block_number: u64) -> expected , string> record PolicyAxis { name: string, attributes: list , hierarchical: bool } /// Rotating ABE attributes rotate_attributes: function(policy: list , attributes: list ) -> expected , string> /// Decrypt symmetric block cipher decrypt_hybrid_block: function(ciphertext: list , symmetric_key: list , uid: list , block_number: u64) -> expected , string> /// Prepare encryption cache (avoiding public key deserialization) create_encryption_cache: function(master_public_key: list , policy: list ) -> expected /// This struct only provides a visual way to display policy arguments record Policy { primary_axis: PolicyAxis, secondary_axis: PolicyAxis } /// Encrypt an AES-symmetric key and encrypt with AESGCM-256 encrypt_hybrid_header: function(attributes: list , cache_handle: s32, uid: list ) -> expected