"""
Synor Contract SDK

Smart contract deployment, interaction, and event handling:
- Deploy contracts (standard and CREATE2)
- Call view/pure functions
- Send state-changing transactions
- Subscribe to events
- ABI encoding/decoding utilities
"""

from .types import (
    ContractConfig,
    ContractError,
    AbiEntryType,
    AbiParameter,
    AbiEntry,
    DeploymentResult,
    TransactionResult,
    EventLog,
    DecodedEvent,
    ContractInterface,
    GasEstimation,
    BytecodeInfo,
    VerificationResult,
    MulticallRequest,
    MulticallResult,
    DEFAULT_CONTRACT_ENDPOINT,
)

from .client import SynorContract

__all__ = [
    "SynorContract",
    "ContractConfig",
    "ContractError",
    "AbiEntryType",
    "AbiParameter",
    "AbiEntry",
    "DeploymentResult",
    "TransactionResult",
    "EventLog",
    "DecodedEvent",
    "ContractInterface",
    "GasEstimation",
    "BytecodeInfo",
    "VerificationResult",
    "MulticallRequest",
    "MulticallResult",
]
