import 'package:flutter/services.dart'; class BalanceCopyState { final String label; final String payload; const BalanceCopyState({required this.label, required this.payload}); bool get canCopy => payload.trim().isNotEmpty; } class BalanceSourceCopyController { const BalanceSourceCopyController(); BalanceCopyState wallet(String? depositAddress) { return BalanceCopyState( label: 'Copy Deposit Address', payload: depositAddress?.trim() ?? '', ); } BalanceCopyState ledger(String? accountCode) { return BalanceCopyState( label: 'Copy Deposit Address', payload: accountCode?.trim() ?? '', ); } Future copy(BalanceCopyState state) async { if (!state.canCopy) return false; await Clipboard.setData(ClipboardData(text: state.payload)); return true; } }