Currency Integrations (Adapters)¶
Purpose¶
Currency integrates with other systems through adapter-style compositions.
These integrations live in the RevFramework Integrations folder because they depend on optional systems (e.g. Inventory) and are not part of the core Currency runtime.
Usage Guidance¶
Integrations are intended to:
- Adapt external systems into Currency contracts
- Remain optional and assembly-isolated
- Avoid introducing dependencies into the core Currency runtime
What Lives Here¶
Concrete integrations can be found under:
Integrations/Currency/InventoryIntegrationIntegrations/Currency/...(other optional systems)
These are included only when the corresponding system is present.
Important Notes¶
- Currency remains system-agnostic at its core
- Integrations compose around supported Currency seams
- Availability depends on installed modules and defines
Supported seams include:
ICurrencyServiceICurrencyAuthorityICurrencyBatchEventsICurrencyAuditReaderICurrencyAuditEventsICurrencyEscrowICurrencyEscrowReadOnlyICurrencyExchangeIAuditAwareCurrencyService
Usage Guidance¶
Providing your own integration¶
Projects can integrate custom systems (inventory, persistence, authority, etc.) by:
- Implementing
ICurrencyService, or - Composing behaviour around an existing service (decorator pattern)
Currency does not require any specific external system.
Internal Use Only¶
This folder documents integration patterns.
Do not:
- Add core runtime dependencies here
- Assume integrations are always present
- Depend on specific adapter implementations
Safe to Remove¶
This folder may be removed if no integrations are used.
Removing it does not affect the core Currency system.
Related Documentation¶
- Abstractions / Services — integration contracts
- PublicAPI — helper workflows for integrations
- Integrations (root) — other system adapters