/** * Gas-Free Request Types * * Request parameters for gas-free transfers * * @module features/gas-free/types/GasFreeRequest */ /** * High-level request for gas-free transfer * Used by GasFreeModule.sendGasFree() */ export interface GasFreeTransferRequest { /** User ID for fee quote generation */ userId: string; /** Asset ID being transferred */ assetId: string; /** Amount being transferred in base units with precision included (e.g., 100250000 for 100.25 TUSDT with precision 6) */ transferAmount: number; /** Recipient RGB invoice (blinded UTXO or witness output) */ recipientInvoice: string; /** Transport endpoints for RGB transfer (e.g., ['rpc://...']) */ transportEndpoints?: string[]; /** Fee rate in sat/vByte */ feeRate?: number; /** Number of inputs (optional, for fee estimation) */ numInputs?: number; /** Number of outputs (optional, for fee estimation) */ numOutputs?: number; /** Minimum confirmations required */ minConfirmations?: number; /** Whether to donate change to miner */ donation?: boolean; } /** * Result of a successful gas-free transfer */ export interface GasFreeTransferResult { /** Transaction ID */ txid: string; /** RGB consignment data */ consignment?: string; /** Service fee paid in RGB asset units */ serviceFee: number; /** Quote ID used for this transfer */ quoteId: string; }