/** * Escrow Type Definitions * * Type definitions for multi-signature escrow accounts */ export interface EscrowAccount { /** * Multi-sig account address */ address: string; /** * Sorted list of signatory addresses * [Buyer, Merchant, Platform] */ signatories: string[]; /** * Number of signatures required (typically 2 of 3) */ threshold: number; /** * Associated payment ID */ paymentId: string; /** * When the escrow was created */ createdAt: number; /** * Escrow expiration timestamp */ expiresAt: number; } export interface MultisigTimepoint { /** * Block height when the multi-sig call was initiated */ height: number; /** * Transaction index in the block */ index: number; } export interface MultisigCallData { /** * The encoded call data */ callData: string; /** * Hash of the call */ callHash: string; /** * Timepoint when first approval was made */ timepoint?: MultisigTimepoint; /** * Addresses that have approved */ approvals: string[]; /** * Maximum weight for the call */ maxWeight?: bigint; } export declare enum EscrowAction { RELEASE = "release", REFUND = "refund", DISPUTE = "dispute" } export interface EscrowOperation { /** * Type of operation */ action: EscrowAction; /** * Escrow account involved */ escrowAccount: EscrowAccount; /** * Amount to transfer */ amount: bigint; /** * Recipient address */ recipient: string; /** * Address initiating the operation */ initiator: string; /** * Transaction hash (once executed) */ txHash?: string; /** * Operation status */ status: 'pending' | 'approved' | 'executed' | 'failed'; } //# sourceMappingURL=escrow.types.d.ts.map