# Audit

The **Audit** module in the CESS Rust SDK provides interfaces to interact with the **audit pallet** on the CESS blockchain.\
This pallet manages **storage miner challenge verification**, including submission of proofs, verification results, and tracking challenge-related states.

Using this module, developers can:

* Query the audit state and miner challenge results.
* Submit storage or service proofs to the chain.
* Verify proof results for idle or service challenges.

***

## Query Interfaces

The following query APIs allow you to retrieve audit-related information directly from the blockchain:

* [challenge\_snapshot](/developer/cess-sdk/sdk-rust/chain/audit/challenge_snapshot.md) - Retrieve challenge snapshot information for a specific miner or block.
* [counted\_clear](/developer/cess-sdk/sdk-rust/chain/audit/counted_clear.md) - Query the count of cleared (successfully completed) challenges.
* [counted\_service\_failed](/developer/cess-sdk/sdk-rust/chain/audit/counted_service_failed.md) - Retrieve the count of failed service challenges for a miner.
* [challenge\_slip](https://github.com/CESSProject/doc-v2/blob/main/developer/cess-sdk/sdk-rust/chain/audit/query/challenge_slip.md) - Check if a challenge slip exists for a given miner at a specific block, representing the deadline for proof submission.
* [verify\_slip](https://github.com/CESSProject/doc-v2/blob/main/developer/cess-sdk/sdk-rust/chain/audit/query/verify_slip.md) - Verify whether a challenge slip has been validated, storing the verification and liquidation time node along with the corresponding miner.

***

## Transaction Interfaces

The following call (transaction) APIs allow miners or validators to interact with the audit system by submitting and verifying proofs:

* [submit\_idle\_proof](/developer/cess-sdk/sdk-rust/chain/audit/submit_idle_proof.md) - Submit proof of idle storage space to demonstrate reliability.
* [submit\_service\_proof](/developer/cess-sdk/sdk-rust/chain/audit/submit_service_proof.md) - Submit proof of completed service-related tasks.
* [submit\_verify\_idle\_result](/developer/cess-sdk/sdk-rust/chain/audit/submit_verify_idle_result.md) - Submit the verification result for idle space proof.
* [submit\_verify\_service\_result](/developer/cess-sdk/sdk-rust/chain/audit/submit_verify_service_result.md) - Submit the verification result for service proof.

***

### Example Usage

All query and transaction functions under the `audit` module can be accessed through:

```rust
use cess_rust_sdk::chain::audit::query::StorageQuery as AuditQuery;
use cess_rust_sdk::chain::audit::transaction::StorageTransaction as AuditTransaction
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.cess.network/developer/cess-sdk/sdk-rust/chain/audit.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
