4.1 Implement providers/mock/provider.go
MockProvider struct
Implements all domain interfaces (AccountService, TransactionService, BalanceService, ConsentService)
In-memory data storage (maps keyed by ID)
NewMockProvider() constructor with sample data
4.2 Create sample data
3 sample accounts (checking, savings, credit card)
Multi-currency accounts (AUD, USD)
Realistic account numbers, names, balances
4.3 Create sample transactions
11 sample transactions distributed across accounts
Various transaction types (debit, credit, transfer, payment, fee)
Realistic merchants (groceries, utilities, salary, ATM, etc.)
Date range: last 90 days
Running balances calculated correctly
4.4 Create sample consents
3 sample consents (1 active, 1 expired, 1 revoked)
Realistic scopes (account:read, transaction:read, balance:read)
Date ranges (grant, expiry, revocation)
4.5 Implement AccountService methods
RetrieveCurrentAccount - lookup by ID, return error if not found
RetrieveCurrentAccountBalance - return current balance
4.6 Implement TransactionService methods
RetrievePaymentTransaction - lookup by ID
RetrievePaymentTransactionHistory - filter by account, date range, pagination
4.7 Implement BalanceService methods
RetrieveAccountBalance - return current and available balances
4.8 Implement ConsentService methods
RetrieveConsent - lookup by ID
RetrieveConsentStatus - return status only
4.9 Write integration tests for mock provider
Test all service operations with sample data
Test error cases (not found, invalid inputs)
Test pagination and filtering
Source: openspec/changes/bootstrap-mvp-foundation/tasks.md
providers/mock/provider.goSource: openspec/changes/bootstrap-mvp-foundation/tasks.md