Skip to content

feat(family_wallet): implement spending limit precision and rollover validations#414

Merged
Baskarayelu merged 2 commits intoRemitwise-Org:mainfrom
Hallab7:feat/validate-spending-limit-precision
Mar 28, 2026
Merged

feat(family_wallet): implement spending limit precision and rollover validations#414
Baskarayelu merged 2 commits intoRemitwise-Org:mainfrom
Hallab7:feat/validate-spending-limit-precision

Conversation

@Hallab7
Copy link
Copy Markdown
Contributor

@Hallab7 Hallab7 commented Mar 26, 2026

Add enhanced spending limit system with precision controls and secure rollover
behavior to prevent over-withdrawal due to precision or period reset edge cases.

New Features

Enhanced Data Structures

  • Add PrecisionSpendingLimit with min_precision, max_single_tx, and rollover controls
  • Add SpendingPeriod for UTC-aligned daily period management
  • Add SpendingTracker for cumulative spending across periods
  • Extend FamilyMember with optional precision_limit field
  • Add 5 new error types for precision validation failures

Core Security Enhancements

  • Dust Attack Prevention: min_precision validation prevents micro-transactions
  • Single Transaction Limits: max_single_tx prevents large withdrawals
  • Overflow Protection: saturating_add() operations prevent arithmetic overflow
  • Rollover Security: UTC boundary alignment prevents timezone manipulation
  • Period Validation: rollover validation prevents time manipulation attacks

New API Functions

  • set_precision_spending_limit() - Configure enhanced limits (Owner/Admin only)
  • validate_precision_spending() - Comprehensive validation with rollover checks
  • get_spending_tracker() - Read-only access to spending data
  • Enhanced withdraw() function with precision validation integration

Security Assumptions

  • Precision limits prevent dust attacks via configurable minimum amounts
  • Period boundaries align to UTC midnight to prevent timezone exploitation
  • Cumulative tracking resets only on legitimate period rollover
  • Configuration validation ensures secure parameter relationships
  • Owner/Admin roles bypass precision checks (unlimited spending)

Documentation

  • Enhanced family-wallet-design.md with security assumptions
  • Comprehensive API reference with NatSpec-style comments
  • Migration guide and configuration examples
  • Performance and storage efficiency considerations

Closes #293

@Baskarayelu Baskarayelu merged commit d8fea56 into Remitwise-Org:main Mar 28, 2026
2 of 3 checks passed
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.

Implement spending limit precision and rollover validations

2 participants