IC-ADC Implementation
This documentation provides an overview of how the Verity DP framework is integrated within the processor
and orchestrator
folders of the project. It highlights the usage of Verity modules and the inter-canister communication with the Verity Verifier.
processor
The processor is the on-chain aspect of the IC-ADC. It is responsible for receiving data from an off-chain orchestrator
node, verifying provided TLS proofs, and processing this data for destination Canisters within the Internet Computer.
Inter-Canister Call to Verity Verifier
In the processor/ic/src/sources/mod.rs
file, the function request_proof_verification
makes an inter-canister call to the ic/managed/verifier
. This call is crucial for obtaining verified or decrypted proofs from the managed verifier canister.
The function uses the ic_cdk::call
method to communicate with the verifier canister, passing the stringified proofs and the notary public key as arguments. This interaction is a key part of the Verity DP framework, enabling the Internet Computer to verify proofs asynchronously.
In a parent function call get_token_price
, we simply parses the response proofs to obtain the values.
request_proof_verification
call. This is because all of this computation is occurring on-chain, within the IC.orchestrator
Verity Client Usage
The verity-client
module is used in the orchestrator/src/helpers/verity.rs
file to create a VerityClient
for interfacing with a Verity Prover.
In a parent function, the verity_client
is used similarly to Rust’s reqwest
library:
Conclusion
These references show where the Verity DP modules are integrated within the processor
and orchestrator
folders. The inter-canister call to the Verity Verifier and the use of the Verity Client are essential components of the Verity DP integration, ensuring secure and efficient data processing and verification.