Documentation Index
Fetch the complete documentation index at: https://docs.privora.xyz/llms.txt
Use this file to discover all available pages before exploring further.
Test environment for FHE programs.
use privora_sdk_testing::prelude::*;
let mut env = FheTestEnv::new();
Constructor
new
Create with default configuration.
builder
pub fn builder() -> FheTestEnvBuilder
Create with custom configuration.
Fields
svm
The LiteSVM instance.
client_key
pub client_key: ClientKey
TFHE client key for encryption/decryption.
server_key
pub server_key: ServerKey
TFHE server key.
Methods
deploy_program
pub fn deploy_program(&mut self, program_id: Pubkey, program_bytes: &[u8])
create_funded_keypair
pub fn create_funded_keypair(&mut self) -> Keypair
Creates keypair with 10 SOL.
airdrop
pub fn airdrop(&mut self, pubkey: &Pubkey, lamports: u64)
latest_blockhash
pub fn latest_blockhash(&self) -> Hash
minimum_balance_for_rent_exemption
pub fn minimum_balance_for_rent_exemption(&self, data_len: usize) -> u64
sync_data_store_to_syscalls
pub fn sync_data_store_to_syscalls(&self)
Call before sending transaction.
sync_data_store_from_syscalls
pub fn sync_data_store_from_syscalls(&mut self)
Call after transaction.
Encryption Helpers
encrypt_and_submit_u8
pub fn encrypt_and_submit_u8(&mut self, value: u8) -> [u8; 32]
encrypt_and_submit_u32
pub fn encrypt_and_submit_u32(&mut self, value: u32) -> [u8; 32]
encrypt_and_submit_u64
pub fn encrypt_and_submit_u64(&mut self, value: u64) -> [u8; 32]
Decryption Helpers
fetch_and_decrypt_u8
pub fn fetch_and_decrypt_u8(&self, hash: &[u8; 32]) -> u8
fetch_and_decrypt_u32
pub fn fetch_and_decrypt_u32(&self, hash: &[u8; 32]) -> u32
fetch_and_decrypt_u64
pub fn fetch_and_decrypt_u64(&self, hash: &[u8; 32]) -> u64
Assertion Helpers
assert_encrypted_eq_u8
pub fn assert_encrypted_eq_u8(&self, hash: &[u8; 32], expected: u8)
assert_encrypted_eq_u32
pub fn assert_encrypted_eq_u32(&self, hash: &[u8; 32], expected: u32)
assert_encrypted_eq_u64
pub fn assert_encrypted_eq_u64(&self, hash: &[u8; 32], expected: u64)
assert_encrypted_true
pub fn assert_encrypted_true(&self, hash: &[u8; 32])
assert_encrypted_false
pub fn assert_encrypted_false(&self, hash: &[u8; 32])
Data Store
submit_data
pub fn submit_data(&mut self, data: Vec<u8>) -> [u8; 32]
get_data
pub fn get_data(&self, hash: &[u8; 32]) -> Option<Vec<u8>>