import { Address } from '@ton/core'; import { type OperatorEndpoint } from './client'; export type PhoebeDeployment = { owner: Address; phoebe: Address; forgeton: Address; atlas: Address; /** * Live operator HTTP read endpoints. Used by `fetchVerifiedPrice` * to fetch + verify snapshot leaves without running an operator. * Optional: omitted = no public read endpoints known (consumer * must supply their own list). * * Endpoints are tried in parallel; the first one returning a * snapshot whose reconstructed merkle root matches the on-chain * `phoebe.lastRoot` wins. Lying operators are caught by the hash * check, so the list does NOT need to be a trusted set. */ operators?: readonly OperatorEndpoint[]; /** * Code-hash hex the SDK was built for. Compare against the live * contract's code hash via `(await tonClient.getContractState(addr)).codeHash` * — mismatch means the deployment has been upgraded to different * bytecode than what this SDK ships. */ expectedCodeHash: string; /** * Persistent-storage schema versions the SDK was built for. Compare * against `await phoebe.getSchemaVersions()` — drift on any of these * means the SDK cannot safely parse getter results. */ expectedSchema: { storage: number; config: number; }; }; /** * Live testnet deployment (2026-05-13). For mainnet readiness, also check * `PHOEBE_MAINNET`. */ export declare const PHOEBE_TESTNET: PhoebeDeployment | null; /** * `PHOEBE_MAINNET` will be populated post-audit + post-30-day-testnet-clean. * Mainnet ships with Pattern 2 timelocked upgrade and ≥ 3 operators * committed. */ export declare const PHOEBE_MAINNET: PhoebeDeployment | null; /** Schema expectations the SDK was built for — useful independently of a live deploy. */ export declare const PHOEBE_EXPECTED_SCHEMA: PhoebeDeployment['expectedSchema']; /** * Return a canonical live deployment or throw an actionable error. Prefer * this over `if (PHOEBE_TESTNET === null) ...` in consumer scripts — the * thrown message points at the deploy skill + the pending-testnet status. * * @example * import { assertDeployment } from '@titon-network/phoebe-sdk'; * const dep = assertDeployment('testnet'); * const phoebe = tonClient.open(Phoebe.createFromAddress(dep.phoebe)); */ export declare function assertDeployment(network: 'testnet' | 'mainnet'): PhoebeDeployment;