Skip to content

feat: add isCorporate toggle for COP recipients#1765

Open
BullishNode wants to merge 7 commits into
SatoshiPortal:developfrom
BullishNode:feat/cop-corporate-recipient
Open

feat: add isCorporate toggle for COP recipients#1765
BullishNode wants to merge 7 commits into
SatoshiPortal:developfrom
BullishNode:feat/cop-corporate-recipient

Conversation

@BullishNode
Copy link
Copy Markdown
Contributor

@BullishNode BullishNode commented Jan 10, 2026

Summary

Add corporate account support for COP recipients in the mobile app, allowing businesses to register with corporate name instead of individual names.

What this does

  • Adds isCorporate toggle and corporateName field to COP Bank Account and Nequi forms
  • Updates domain value objects with factory validation for conditional field requirements
  • Full localization support with 20+ new strings

Design decisions

  • Factory validation pattern: Domain value objects (PseColombiaDetails, NequiColombiaDetails) use factory constructors with validation, matching SEPA pattern
  • Conditional field enforcement: Corporate accounts require corporateName, individual accounts require firstName/lastName - enforced at domain layer
  • Email regex validation: Added proper email format validation in forms

Test plan

  • Create COP Bank Account as individual - verify first/last name fields shown and required
  • Create COP Bank Account as corporate - verify corporate name field shown and required
  • Toggle between modes and verify fields change correctly
  • Same tests for COP Nequi recipients
  • Verify form validation messages display correctly
  • Verify localization strings render properly

- Display actual user-configured values in autoswap warning instead of hardcoded strings
- Update database seeds to match model defaults (1M/2M instead of 500k/1M)
- Read values from WalletBloc state and convert to BTC for display
…updates

- Display values in BTC or sats based on user bitcoinUnit setting
- Use FormatAmount for consistent formatting matching currency_text pattern
- Trigger WalletRefreshed on settings save to reload values in WalletBloc
- Apply BlocListener pattern in settings screen and bottom sheet
Add corporate account support for Colombian peso (COP) recipients.
When enabled, shows corporate name field instead of first/last name.

Changes:
- Update domain objects to include isCorporate and corporateName
- Update DTOs and models for COP types
- Add corporate checkbox to bank account and Nequi forms
- Add localization strings for all form fields
- Update form validation for corporate vs individual accounts
…-recipient

# Conflicts:
#	localization/app_en.arb
…ipients

- Add lastname validation for individual accounts in PseColombiaDetails
- Add lastname validation for individual accounts in NequiColombiaDetails
- Improve email validation with proper regex pattern in both COP forms
@BullishNode BullishNode force-pushed the feat/cop-corporate-recipient branch from 02568c5 to 96d9176 Compare January 11, 2026 18:42
- Rename CopBankAcountTypeViewModel to CopBankAccountTypeViewModel
  (fix missing 'c' in Account)
- Add _phoneNumberFocusNode and _documentIdFocusNode to Nequi form
  for proper keyboard navigation between fields
@BullishNode BullishNode marked this pull request as ready for review January 11, 2026 21:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants