"""
Synor ZK SDK for Python

Zero-Knowledge proof systems for ZK-Rollups and privacy.
"""

from .types import (
    ProofSystem,
    CircuitType,
    RollupState,
    ProofStatus,
    Proof,
    VerificationKey,
    ProvingKey,
    CircuitConfig,
    AccountState,
    Transfer,
    Deposit,
    Withdrawal,
    Batch,
    RollupStats,
    ProofRequest,
    VerificationResult,
    MerkleProof,
    TrustedSetup,
    CeremonyContribution,
    ZkConfig,
    ZkError,
    DEFAULT_CONFIG,
    MAX_BATCH_SIZE,
    STATE_TREE_DEPTH,
)
from .client import SynorZk

__version__ = "0.1.0"
__all__ = [
    "SynorZk",
    "ProofSystem",
    "CircuitType",
    "RollupState",
    "ProofStatus",
    "Proof",
    "VerificationKey",
    "ProvingKey",
    "CircuitConfig",
    "AccountState",
    "Transfer",
    "Deposit",
    "Withdrawal",
    "Batch",
    "RollupStats",
    "ProofRequest",
    "VerificationResult",
    "MerkleProof",
    "TrustedSetup",
    "CeremonyContribution",
    "ZkConfig",
    "ZkError",
    "DEFAULT_CONFIG",
    "MAX_BATCH_SIZE",
    "STATE_TREE_DEPTH",
]
