/** * 0G Data Availability Storage Integration * Store encrypted messages on 0G DA layer */ export interface DAConfig { rpcUrl: string; contractAddress: string; privateKey?: string; } export interface DABlob { blobId: string; data: Uint8Array; timestamp: number; txHash: string; } export interface EncryptedMessage { ciphertext: Uint8Array; nonce: Uint8Array; ephemeralPublicKey: Uint8Array; from: string; to: string; timestamp: number; } /** * 0G Data Availability Client * Upload and retrieve encrypted messages from 0G DA layer */ export declare class ZeroGDAClient { private config; private provider; private signer?; private contract?; private static readonly DA_CONTRACT_ABI; constructor(config: DAConfig); /** * Store encrypted message on 0G DA */ storeEncryptedMessage(message: EncryptedMessage): Promise; /** * Retrieve encrypted message from 0G DA */ retrieveEncryptedMessage(blobId: string): Promise; /** * Get blob metadata (without downloading full data) */ getBlobMetadata(blobId: string): Promise<{ uploader: string; size: number; timestamp: number; }>; /** * Check if blob exists */ blobExists(blobId: string): Promise; /** * List all blobs uploaded by address */ listBlobsByUploader(uploader: string, fromBlock?: number): Promise; /** * Serialize encrypted message to bytes */ private serializeMessage; /** * Deserialize bytes to encrypted message */ private deserializeMessage; } /** * Helper function to create 0G DA client */ export declare function createZeroGDAClient(config: DAConfig): ZeroGDAClient; /** * Default 0G DA contract addresses */ export declare const DEFAULT_DA_CONTRACTS: { mainnet: string; testnet: string; }; //# sourceMappingURL=0g-da.d.ts.map