import { ByteString, PubKey, Sig, SmartContract, FixedArray } from 'scrypt-ts'; export type VersionData = { outpoint: ByteString; description: ByteString; timestamp: bigint; }; /** * ReactOnchainVersioning - On-chain version tracking for React applications * * This contract maintains version history with full metadata storage * for up to 100 versions in a rolling window. * * Features: * - Up to 100 versions with full metadata * - Ordered history (newest first) * - Per-version metadata (outpoint, description, timestamp) * - Immutable origin outpoint (set at deployment) * - Single owner authorization * - Fully queryable off-chain */ export declare class ReactOnchainVersioning extends SmartContract { static readonly MAX_HISTORY = 100; readonly owner: PubKey; readonly originOutpoint: ByteString; readonly appName: ByteString; versionHistory: FixedArray; versionStrings: FixedArray; versionCount: bigint; latestVersion: ByteString; constructor(owner: PubKey, originOutpoint: ByteString, appName: ByteString, versionHistory: FixedArray, versionStrings: FixedArray, versionCount: bigint, latestVersion: ByteString); /** * Add a new version to the version history * @param ownerSig - Signature from the contract owner * @param version - Version string (e.g., "1.0.0") * @param outpoint - Location of deployed app (txid_vout format) * @param description - Changelog or release notes */ addVersion(ownerSig: Sig, version: ByteString, outpoint: ByteString, description: ByteString): void; } //# sourceMappingURL=reactOnchainVersioning.d.ts.map