/** * Bulletin Chain Type Definitions * * Types for posting immutable payment records to Polkadot Bulletin Chain */ export interface BulletinConfig { /** * Bulletin Chain RPC endpoint */ rpcEndpoint?: string; /** * Enable/disable bulletin posting (optional) */ enabled?: boolean; } export interface PaymentReceipt { /** * Payment ID from payment service */ paymentId: string; /** * Payment status when receipt was created */ status: 'funded' | 'released' | 'refunded' | 'disputed'; /** * Buyer's address */ buyer: string; /** * Merchant's address */ merchant: string; /** * Payment amount in Planck */ amount: string; /** * Platform fee amount */ platformFee?: string; /** * Transaction hash from Asset Hub */ txHash: string; /** * Timestamp when receipt was created */ timestamp: number; /** * IPFS hash of payment metadata (if any) */ ipfsHash?: string; /** * Optional description */ description?: string; } export interface MerchantReputation { /** * Merchant's address */ merchant: string; /** * Total number of completed payments */ totalPayments: number; /** * Total volume processed (in DOT) */ totalVolume: string; /** * Success rate (0-100) */ successRate: number; /** * Number of disputes */ totalDisputes: number; /** * Last update timestamp */ lastUpdated: number; } export interface DisputeRecord { /** * Payment ID in dispute */ paymentId: string; /** * Who initiated the dispute */ initiator: 'buyer' | 'merchant'; /** * Dispute reason */ reason: string; /** * Evidence IPFS hash (optional) */ evidenceHash?: string; /** * Timestamp when dispute was filed */ timestamp: number; /** * Resolution (if any) */ resolution?: { outcome: 'buyer_favor' | 'merchant_favor'; timestamp: number; txHash: string; }; } export declare enum BulletinRecordType { PAYMENT_RECEIPT = "payment_receipt", MERCHANT_REPUTATION = "merchant_reputation", DISPUTE_RECORD = "dispute_record" } export interface BulletinRecord { /** * Type of record */ type: BulletinRecordType; /** * Record data (PaymentReceipt, MerchantReputation, or DisputeRecord) */ data: PaymentReceipt | MerchantReputation | DisputeRecord; /** * Poster's address */ poster: string; /** * Bulletin chain transaction hash */ bulletinTxHash?: string; /** * When posted to Bulletin */ postedAt: number; } //# sourceMappingURL=bulletin.types.d.ts.map